<?php
namespace slinks\extensions\action\core;

/**
 * The IActionContext contains the different parameters involved during Slinks Action execution.
 * @author navid
 */
interface IActionContext {
    
    /**
     * @return \slinks\core\HttpFoundation\IRequest the request object.
     */
    public function getRequest();
    
    /**
     * @return slinks\core\HttpFoundation\Session 
     */
    public function getSession();
    
    /**
     * @return slinks\extensions\action\configuration\IActionMapping
     */
    public function getActionMapping();
    
    /**
     * The IActionContext parameters/values for the request.
     * Contains all PathInfo,Post,Get,flash and session parameters. 
     * @return \slinks\core\HttpFoundation\ParameterBag containing all the values.
     */
    public function getValueStack();
    
}

